home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / OS / FWGraphx / Sources / SLPictur.cpp < prev    next >
Encoding:
Text File  |  1996-08-16  |  4.1 KB  |  197 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                SLPictur.cpp
  4. //    Release Version:    $ ODF 1 $
  5. //
  6. //    Copyright:    (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #include "FWOS.hpp"
  11.  
  12. #ifndef SLPICTUR_H
  13. #include "SLPictur.h"
  14. #endif
  15.  
  16. #ifndef PRPICTUR_H
  17. #include "PRPictur.h"
  18. #endif
  19.  
  20. #ifndef FWODEXCE_H
  21. #include "FWODExce.h"
  22. #endif
  23.  
  24. #ifndef FWSTRMRW_H
  25. #include "FWStrmRW.h"
  26. #endif
  27.  
  28. //========================================================================================
  29. // Picture
  30. //========================================================================================
  31.  
  32. #ifdef FW_BUILD_MAC
  33. #pragma segment FWGraphics_Picture
  34. #endif
  35.  
  36. // Creation
  37.  
  38. FW_HPicture            SL_API    FW_PrivPicture_CreateFromResource(
  39.                                 FW_OResourceFile*     resourceFile,
  40.                                 FW_ResourceId         resId,
  41.                                 FW_PlatformError*     error)
  42. {
  43.     FW_ERR_TRY
  44.     {
  45.         return FW_NEW(FW_CPrivPictureRep, (resourceFile, resId));
  46.     }
  47.     FW_ERR_CATCH
  48.     return 0;    
  49. }
  50.  
  51. FW_HPicture            SL_API    FW_PrivPicture_CreateFromPlatformPict(
  52.                                 FW_PlatformPict     platformPict,
  53.                                 FW_PlatformError*     error)
  54. {
  55.     FW_ERR_TRY
  56.     {
  57.         return FW_NEW(FW_CPrivPictureRep, (platformPict));
  58.     }
  59.     FW_ERR_CATCH
  60.     return 0;    
  61. }
  62.  
  63. FW_HPicture            SL_API    FW_PrivPicture_Copy(FW_HPicture picture, FW_PlatformError*     error)
  64. {
  65.     FW_ERR_TRY
  66.     {
  67.         return FW_NEW(FW_CPrivPictureRep, (*picture));
  68.     }
  69.     FW_ERR_CATCH
  70.     return 0;    
  71. }
  72.  
  73. // Reference counting
  74.  
  75. void                SL_API    FW_PrivPicture_Acquire(FW_HPicture picture)
  76. {
  77.     // No try block necessary - Do not throw
  78.     picture->Acquire();
  79. }
  80.  
  81. long                SL_API    FW_PrivPicture_GetRefCount(FW_HPicture picture)
  82. {
  83.     // No try block necessary - Do not throw
  84.     return picture->GetRefCount();
  85. }
  86.  
  87. void                SL_API    FW_PrivPicture_Release(FW_HPicture picture)
  88. {
  89.     // No try block necessary - Do not throw
  90.     picture->Release();
  91. }
  92.  
  93. FW_Boolean            SL_API    FW_PrivPicture_IsEqual(FW_HPicture picture, FW_HPicture picture2)
  94. {
  95.     // No try block necessary - Do not throw
  96.     return picture->IsEqual(*picture2);
  97. }
  98.  
  99. // Bounds
  100.  
  101. void                SL_API    FW_PrivPicture_GetPictBounds(
  102.                                 FW_HPicture         picture,
  103.                                 FW_SRect&             bounds)
  104. {
  105.     // No try block necessary - Do not throw
  106.     picture->GetPictBounds(bounds);
  107. }
  108.  
  109. void                SL_API    FW_PrivPicture_GetPictBoundsGC(Environment* ev,
  110.                                 FW_HPicture         picture,
  111.                                 FW_SGraphicContext&    gc,
  112.                                 FW_SRect&            bounds)
  113. {
  114.     // No try block necessary - Do not throw
  115.     picture->GetPictBoundsGC(ev, gc, bounds);
  116. }
  117.  
  118. FW_PlatformPict        SL_API    FW_PrivPicture_GetPlatformPict(FW_HPicture picture)
  119. {
  120.     // No try block necessary - Do not throw
  121.     return picture->GetPlatformPict();
  122. }
  123.  
  124. FW_Boolean            SL_API    FW_PrivPicture_IsPlatformPictOrphan(FW_HPicture picture)
  125. {
  126.     // No try block necessary - Do not throw
  127.     return picture->IsPlatformPictOrphan();
  128. }
  129.  
  130. FW_PlatformPict        SL_API    FW_PrivPicture_OrphanPlatformPict(FW_HPicture picture)
  131. {
  132.     // No try block necessary - Do not throw
  133.     return picture->OrphanPlatformPict();
  134. }
  135.     
  136. FW_PlatformError    SL_API    FW_PrivPicture_SetPlatformPict(FW_HPicture picture, FW_PlatformPict newPict)
  137. {
  138.     // No try block necessary - Do not throw
  139.     picture->SetPlatformPict(newPict);
  140.     return FW_xNoError;
  141. }
  142.  
  143. FW_PlatformError    SL_API    FW_PrivPicture_AdoptPlatformPict(FW_HPicture picture, FW_PlatformPict newPict)
  144. {
  145.     // No try block necessary - Do not throw
  146.     picture->AdoptPlatformPict(newPict);
  147.     return FW_xNoError;
  148. }
  149.  
  150. #ifdef FW_BUILD_MAC
  151. FW_PlatformError SL_API    FW_PrivPicture_MacLock(FW_HPicture picture)
  152. {
  153.     FW_RETURN_ERR_TRY
  154.     {
  155.         picture->MacLock();
  156.     }
  157.     FW_RETURN_ERR_CATCH
  158. }
  159.  
  160. FW_PlatformError SL_API    FW_PrivPicture_MacUnlock(FW_HPicture picture)
  161. {
  162.     FW_RETURN_ERR_TRY
  163.     {
  164.         picture->MacUnlock();
  165.     }
  166.     FW_RETURN_ERR_CATCH
  167. }
  168.  
  169. #endif
  170.  
  171. // Streaming
  172.  
  173. FW_HPicture            SL_API    FW_PrivPicture_Read(FW_HReadableStream hStream, FW_PlatformError* error)
  174. {
  175.     FW_ERR_TRY
  176.     {
  177.         FW_CReadableStream stream(hStream);
  178.         return FW_NEW(FW_CPrivPictureRep, (stream));
  179.     }
  180.     FW_ERR_CATCH
  181.     return 0;
  182. }
  183.  
  184. void                SL_API    FW_PrivPicture_Write(
  185.                                 FW_HPicture         picture,
  186.                                 FW_HWritableStream    hStream,
  187.                                 FW_PlatformError*     error)
  188. {
  189.     FW_ERR_TRY
  190.     {
  191.         FW_CWritableStream stream(hStream);
  192.         picture->Write(stream);
  193.     }
  194.     FW_ERR_CATCH
  195. }
  196.  
  197.